package com.jeethink.erp.type.service;

import java.util.List;

import com.jeethink.common.core.domain.TreeSelect;
import com.jeethink.common.core.domain.entity.TbCommodityType;
import com.jeethink.common.core.domain.entity.TbShop;
import org.apache.poi.ss.formula.functions.T;

/**
 * 商品类型Service接口
 * 
 * @author ypr
 * @date 2021-06-09
 */
public interface ITbCommodityTypeService 
{
    /**
     * 查询商品类型
     * 
     * @param commodityTypeId 商品类型ID
     * @return 商品类型
     */
    public TbCommodityType selectTbCommodityTypeById(Long commodityTypeId);

    /**
     * 查询商品类型列表
     * 
     * @param tbCommodityType 商品类型
     * @return 商品类型集合
     */
    public List<TbCommodityType> selectTbCommodityTypeList(TbCommodityType tbCommodityType);

    /**
     * 新增商品类型
     * 
     * @param tbCommodityType 商品类型
     * @return 结果
     */
    public int insertTbCommodityType(TbCommodityType tbCommodityType);

    /**
     * 修改商品类型
     * 
     * @param tbCommodityType 商品类型
     * @return 结果
     */
    public int updateTbCommodityType(TbCommodityType tbCommodityType);

    /**
     * 批量删除商品类型
     * 
     * @param commodityTypeIds 需要删除的商品类型ID
     * @return 结果
     */
    public int deleteTbCommodityTypeByIds(Long[] commodityTypeIds);

    /**
     * 删除商品类型信息
     * 
     * @param commodityTypeId 商品类型ID
     * @return 结果
     */
    public int deleteTbCommodityTypeById(Long commodityTypeId);


    /**
     * 构建前端所需要下拉树结构
     *
     * @param tbCommodityTypes 商品类型列表
     * @return 下拉树结构列表
     */
    public List<TreeSelect> buildShopTreeSelect(List<TbCommodityType> tbCommodityTypes);


    /**
     * 构建前端所需要树结构
     *
     * @param tbCommodityTypes 商品类型列表
     * @return 树结构列表
     */
    public List<TbCommodityType> buildCommodityTypeTree(List<TbCommodityType> tbCommodityTypes);

    /**
     * 根据typeid 查询所有
     * @param commodityTypeId typeId
     * @return
     */
    public List<TbCommodityType> selectTypeIds(Long commodityTypeId);

}
